package com.guodi.map.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.guodi.common.utils.PageData;
import com.guodi.map.entity.MapLayer;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @描述：地图图层表 Mapper 接口
 * @作者: 代鹏刚
 * @日期: 2019-12-11
 */
public interface MapLayerMapper extends BaseMapper<MapLayer> {
    /**
    * @描述: 根据实体属性检索
    * @作者: 代鹏刚
    * @日期: 2019/12/11 11:36
    **/
    List<MapLayer> listByEntity(PageData pd);

    /**
     * @描述: 根据实体属性检索懒加载
     * @作者: 代鹏刚
     * @日期: 2019/12/11 11:36
     **/
    List<MapLayer> listLazyByEntity(PageData pd);

    /**
     * @描述: 根据parentId检索列表数据
     * @作者: 邹艺
     * @日期: 2019/01/02 18:32
     **/
    List<MapLayer> getListByParentId(String parentId);

    /**
    * @描述: 获取所有类型为底图的数据
    * @作者: 代鹏刚
    * @日期: 2020/1/7 10:47
    **/
    List<MapLayer> getBaseMap();

    /**
    * @描述: 懒加载关联图层
    * @作者: 代鹏刚
    * @日期: 2020/1/10 12:11
    **/
    List<MapLayer> lazyLoadMapLayer(@Param("dirId") String dirId, @Param("parentId") String parentId);

    /**
     * @描述:懒加载行政区划关联图层
     * @入参:
     * @出参:
     * @作者: 郑文彬
     * @日期: 2020/4/10 11:02
     **/
    List<MapLayer> lazyLoadDivisionMapLayer(@Param("parentId") String parentId, @Param("filter") boolean filter);

    /**
    * @描述: 根據ID刪除
    * @作者: 代鹏刚
    * @日期: 2020/1/19 14:46
    **/
    void deleteById(@Param("id") String id);

    /**
    * @描述: 根据机构查询已授权的根目录
    * @作者: 代鹏刚
    * @日期: 2020/2/11 15:16
    **/
    List<MapLayer> listByOrg(@Param("orgIds") List<String> orgIds);

    /**
     * @作者: 林楷 2021/5/25
     * @描述: 根据父节点查新子节点列表
     * @参数: null
     * @返回: null
     */
    List<MapLayer> listByParentId(@Param("parentId") String parentId);

    /**
      * 功能描述
      *
      * @描述 根据父节点获取最大排序
      * @入参
      * @出参
      * @作者 dhj
      * @日期 2023/10/13 11:17
      */
    Integer getMaxSortByParentId(@Param("parentId") String parentId);
}
